package main

import "fmt"

func main() {
	// d只在该判断内生效
	if d := 32; d > 20 {
		fmt.Println("ddd")
		fmt.Println(d)
	}

	var c = 21
	if c > 21 {
		fmt.Println("fff")
		fmt.Println(c)
	}
	fmt.Println(c)

	//写法1
	// for i := 1; i < 10; i++ {
	// 	fmt.Println(i)
	// }

	//写法2
	// i := 1
	// for ; i < 10; i++ {
	// 	fmt.Println(i)
	// }

	//写法3
	// i := 2
	// for i < 10 {
	// 	fmt.Println(i)
	// 	i++
	// }

	//写法4
	// i := 1
	// for {
	// 	if i <= 5 {
	// 		fmt.Printf("i<=5, i=%v\n", i)
	// 		i++
	// 	} else {
	// 		fmt.Printf("i>5, i=%v\n", i)
	// 		break
	// 	}
	// }

	//矩形
	// var row = 5
	// var column = 8
	// for i := 0; i < row; i++ {
	// 	for j := 0; j < column; j++ {
	// 		fmt.Print("*")
	// 	}
	// 	fmt.Println()
	// }

	//直角三角形
	// var row = 5
	// for i := 0; i < row; i++ {
	// 	for j := 0; j <= i; j++ {
	// 		fmt.Print("*")
	// 	}
	// 	fmt.Println()
	// }

	//九九乘法表
	// var row = 9
	// for i := 1; i <= row; i++ {
	// 	for j := 1; j <= i; j++ {
	// 		fmt.Printf("%v*%v=%v \t", i, j, i*j)
	// 	}
	// 	fmt.Println()
	// }

	//switch
	switch a := 32; a {
	case 32:
		fmt.Println("dd")
		fallthrough //兼容c，穿透（go默认break，也就是匹配到一个后，自动跳出，无需写break）
	default:
		fmt.Println("sss")
	}
	fmt.Println("=======")

	switch a := 1; a {
	case 1, 3, 5, 7, 9:
		fmt.Println("dd")
		fallthrough //兼容c，穿透（go默认break，也就是匹配到一个后，自动跳出，无需写break）
	case 2, 4, 6, 8, 10:
		fmt.Println("lll")
	default:
		fmt.Println("sss")
	}
	fmt.Println("=======")

	b := 100
	switch {
	case b > 10 && b < 200:
		fmt.Println("www")
	case b < 10:
		fmt.Println("ggg")
	default:
		fmt.Println("default")
	}
}
